<template>
  <div class="search">
    <header-top title="搜索"></header-top>
    <form class="search_form"  @submit.prevent="search">
      <input type="search" name="search" placeholder="请输入商家或美食名称"
             class="search_input" v-model="keyword">
      <input type="submit" class="search_submit">
    </form>

    <div class="list" v-if="searchShops.length">
      <ul class="list_container">
        <router-link :to="{path:'/shop', query:{id:item.id}}" tag="li" v-for="item in searchShops" :key="item.id" class="list_li">
          <section class="item_left">
            <img :src="imgBaseUrl + item.image_path" class="restaurant_img">
          </section>
          <section class="item_right">
            <div class="item_right_text">
              <p>
                <span>{{item.name}}</span>
              </p>
              <p>月售 {{item.month_sales||item.recent_order_num}} 单</p>
              <p>{{item.delivery_fee||item.float_minimum_order_amount}} 元起送 / 距离{{item.distance}}</p>
            </div>
          </section>
        </router-link>
      </ul>
    </div>

    <div class="search_none" v-if="emptyResult">很抱歉！无搜索结果</div>
  </div>
</template>

<script>
  import HeaderTop from 'components/HeaderTop/HeaderTop'
  import {mapState} from 'vuex'
  export default {
    data(){
      return {
        keyword: '',
        emptyResult: false,
        imgBaseUrl: 'http://cangdu.org:8001/img/'
      }
    },
    components:{
      HeaderTop
    },
    computed: {
      ...mapState(['searchShops'])
    },
    methods: {
      search () {
        const keyword = this.keyword.trim();
        if(keyword) {
          this.$store.dispatch('searchShop', keyword)
        }
      }
    },
    watch: {
      searchShops(value) {
        if(!value.length){
          this.emptyResult = true
        }else {
          this.emptyResult = false
        }
      }
    }
  }
</script>

<style lang="stylus" scoped>
  @import "../../common/stylus/mixins.styl"

  .search  //搜索
    width 100%
    height 100%
    .header //头部公共css
      background-color #02a774
      position fixed
      z-index 100
      left 0
      top 0
      width 100%
      height 45px
      .header_search
        position absolute
        left 15px
        top 50%
        transform translateY(-50%)
        width 10%
        height 50%
        .iconfont
          font-size 22px
          color #fff
      .header_title
        position absolute
        top 50%
        left 50%
        transform translate(-50%, -50%)
        width 30%
        color #fff
        font-size 22px
        text-align center
    .search_form
      clearFix()
      margin-top 45px
      background-color #fff
      padding 12px 8px
      input
        height 35px
        padding 0 4px
        border-radius 2px
        font-weight bold
        outline none
        &.search_input
          float left
          width 79%
          border 4px solid #f2f2f2
          font-size 14px
          color #333
          background-color #f2f2f2
        &.search_submit
          float right
          width 18%
          border 4px solid #02a774
          font-size 16px
          color #fff
          background-color #02a774
    .list
      .list_container
        background-color: #fff;
        .list_li
          display: flex;
          justify-content: center;
          padding: 10px
          border-bottom: 1px solid $bc;
          .item_left
            margin-right: 10px
            .restaurant_img
              width 50px
              height 50px
              display block
          .item_right
            font-size 12px
            flex 1
            .item_right_text
              p
                line-height 12px
                margin-bottom 6px
                &:last-child
                  margin-bottom 0
    .search_none
      margin: 0 auto
      padding 10px
      color: #333
      background-color: #fff
      text-align: center
      margin-top: 0.125rem
</style>